An Overview of the Runtime Verification Tool Java PathExplorer
نویسندگان
چکیده
We present an overview of the Java PathExplorer runtime verification tool, in short referred to as JPaX. JPaX can monitor the execution of a Java program and check that it conforms with a set of user provided properties formulated in temporal logic. JPaX can in addition analyze the program for concurrency errors such as deadlocks and data races. The concurrency analysis requires no user provided specification. The tool facilitates automated instrumentation of a program’s bytecode, which when executed will emit an event stream, the execution trace, to an observer. The observer dispatches the incoming event stream to a set of observer processes, each performing a specialized analysis, such as the temporal logic verification, the deadlock analysis and the data race analysis. Temporal logic specifications can be formulated by the user in the Maude rewriting logic, where Maude is a high-speed rewriting system for equational logic, but here extended with executable temporal logic. The Maude rewriting engine is then activated as an event driven monitoring process. Alternatively, temporal specifications can be translated into automata or algorithms that can efficiently check the event stream. JPaX can be used during program testing to gain increased information about program executions, and can potentially furthermore be applied during operation to survey safety critical systems.
منابع مشابه
Java PathExplorer - A Runtime Veri cation Tool
We describe recent work on designing an environment, called Java PathExplorer, for monitoring the execution of Java programs. This environment facilitates the testing of execution traces against high level speci cations, including temporal logic formulae. In addition, it contains algorithms for detecting classical error patterns in concurrent programs, such as deadlocks and data races. An initi...
متن کاملJava Pathexplorer -a Runtime Veriication Tool
We describe recent work on designing an environment , called Java PathExplorer, for monitoring the execution of Java programs. This environment facilitates the testing of execution traces against high level speciications, including temporal logic formu-lae. In addition, it contains algorithms for detecting classical error patterns in concurrent programs, such as deadlocks and data races. An ini...
متن کاملStaRVOOrS: A Tool for Combined Static and Runtime Verification of Java
We present the tool StaRVOOrS (Static and Runtime Verification of Object-Oriented Software), which combines static and runtime verification (RV) of Java programs. The tool automates a framework which uses partial results extracted from static verification to optimise the runtime monitoring process. StaRVOOrs combines the deductive theorem prover KeY and the RV tool LARVA, and uses properties wr...
متن کاملGenerating Optimal Linear Temporal Logic Monitors by Coinduction
A coinduction-based technique to generate an optimal monitor from a Linear Temporal Logic (LTL) formula is presented in this paper. Such a monitor receives a sequence of states (one at a time) from a running process, checks them against a requirements specification expressed as an LTL formula, and determines whether the formula has been violated or validated. It can also say whether the LTL for...
متن کاملUML interaction model-driven runtime verification of Java programs
The authors use unified modelling language (UML) 2.0 interaction overview diagrams (IODs) and sequence diagrams to construct simple and expressive scenario-based specifications, and present an approach to runtime verification of Java programs for exceptional consistency and mandatory consistency. The exceptional consistency requires that any forbidden scenario described by a given IOD never hap...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Formal Methods in System Design
دوره 24 شماره
صفحات -
تاریخ انتشار 2004